import Vue from 'vue';

import 'normalize.css/normalize.css'; // 一个现代的CSS重置替代方案

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css'; // ElementUI组件库的样式

import '@/styles/index.scss'; // 全局样式

import App from './App';
import store from './store'; // Vuex状态管理
import router from './router'; // Vue路由

import '@/icons'; // 图标自动加载配置
import '@/permission'; // 路由权限控制

/**
 * 如果不希望使用mock-server模拟接口
 * 而是使用MockJs进行接口模拟
 * 可以取消执行 mockXHR()
 *
 * 当前生产环境默认会使用MockJs进行接口模拟
 * 请务必在上线前移除该逻辑！！！
 */
if (process.env.NODE_ENV === 'production') {
  const { mockXHR } = require('../mock');
  mockXHR();
}

// 如果要使用中文语言包的ElementUI，按如下方式声明
// 注意：当前配置未添加中文语言包，需单独引入
Vue.use(ElementUI);

// 关闭生产环境提示
Vue.config.productionTip = false;

// 创建Vue根实例
new Vue({
  el: '#app', // 挂载到index.html的#app节点
  router, // 注入路由配置
  store, // 注入状态管理
  render: h => h(App) // 根组件渲染
});
